void
setup_gdt(void)
{
+ unsigned long long addr = (unsigned long long) &tss;
+
/* setup task state segment */
memset(&tss, 0, sizeof(tss));
tss.ss0 = DATA_SELECTOR;
tss.iomap_base = offsetof(struct tss, iomap);
/* initialize gdt's tss selector */
- unsigned long long addr = (unsigned long long) &tss;
- gdt[TSS_SELECTOR / sizeof(gdt[0])] |=
+ gdt[TSS_SELECTOR / sizeof(gdt[0])] |=
((addr & 0xFF000000) << (56-24)) |
((addr & 0x00FF0000) << (32-16)) |
((addr & 0x0000FFFF) << (16)) |
delta = now - sw->old_ticks;
bytes = (delta * sw->bytes_per_second) / ticks_per_sec;
if (delta < 0) {
- dolog ("whoops delta(<0)=%lld\n", delta);
+ dolog ("whoops delta(<0)=%"PRId64"\n", delta);
return 0;
}
req->u.data |= (irq << 16);
req->u.data |= (hvm_channel << 24);
req->u.data |= ((s->rw_mode) << 26);
- fprintf(logfile, "HVM_PIT:pass info 0x%llx to HV!\n", req->u.data);
+ fprintf(logfile, "HVM_PIT:pass info 0x%"PRIx64" to HV!\n", req->u.data);
}
static inline void pit_load_count(PITChannelState *s, int val)
break;
case '-':
{
- int has_option;
+ long has_option;
/* option */
-
+
c = *typestr++;
if (c == '\0')
goto bad_type;
- while (isspace(*p))
+ while (isspace(*p))
p++;
has_option = 0;
if (*p == '-') {
p++;
if (*p != c) {
- term_printf("%s: unsupported option -%c\n",
+ term_printf("%s: unsupported option -%c\n",
cmdname, *p);
goto fail;
}
req = &(shared_page->vcpu_iodata[i].vp_ioreq);
term_printf("vcpu %d: event port %d\n",
i, shared_page->vcpu_iodata[i].vp_eport);
- term_printf(" req state: %x, pvalid: %x, addr: %llx, "
- "data: %llx, count: %llx, size: %llx\n",
+ term_printf(" req state: %x, pvalid: %x, addr: %"PRIx64", "
+ "data: %"PRIx64", count: %"PRIx64", size: %"PRIx64"\n",
req->state, req->pdata_valid, req->addr,
req->u.data, req->count, req->size);
- term_printf(" IO totally occurred on this vcpu: %llx\n",
+ term_printf(" IO totally occurred on this vcpu: %"PRIx64"\n",
req->io_count);
}
}
return req;
fprintf(logfile, "False I/O request ... in-service already: "
- "%x, pvalid: %x, port: %llx, "
- "data: %llx, count: %llx, size: %llx\n",
+ "%x, pvalid: %x, port: %"PRIx64", "
+ "data: %"PRIx64", count: %"PRIx64", size: %"PRIx64"\n",
req->state, req->pdata_valid, req->addr,
req->u.data, req->count, req->size);
return NULL;
FD_ZERO(&wakeup_rfds);
FD_SET(evtchn_fd, &wakeup_rfds);
-#if __WORDSIZE == 32
-#define ULONGLONG_MAX 0xffffffffffffffffULL
-#else
-#define ULONGLONG_MAX ULONG_MAX
-#endif
-
tun_receive_handler(&rfds);
if ( FD_ISSET(evtchn_fd, &rfds) ) {
cpu_handle_ioreq(env);
char qemu_dm_logfilename[64];
const char *loadvm = NULL;
unsigned long nr_pages, extra_pages, ram_pages, *page_array;
+ xc_dominfo_t info;
extern void *shared_page;
extern void *shared_vram;
ram_pages = ram_size/PAGE_SIZE;
#if defined(__i386__) || defined(__x86_64__)
- vgaram_pages = (vga_ram_size -1)/PAGE_SIZE + 1;
+ vgaram_pages = (vga_ram_size -1) / PAGE_SIZE + 1;
free_pages = vgaram_pages / L1_PAGETABLE_ENTRIES;
extra_pages = vgaram_pages + free_pages;
#else
xc_handle = xc_interface_open();
- xc_dominfo_t info;
xc_domain_getinfo(xc_handle, domid, 1, &info);
nr_pages = info.nr_pages + extra_pages;
typedef struct {
ioreq_t vp_ioreq;
/* Event channel port */
- unsigned long vp_eport; /* VMX vcpu uses this to notify DM */
- unsigned long dm_eport; /* DM uses this to notify VMX vcpu */
+ unsigned int vp_eport; /* VMX vcpu uses this to notify DM */
+ unsigned int dm_eport; /* DM uses this to notify VMX vcpu */
} vcpu_iodata_t;
typedef struct {